For many different types of storage media, the speed with which data may be retrieved varies depending upon where the data is stored on the storage medium. For example, with hard disk drives the speed of retrievability varies based on physical factors that are discussed below. Examples of other storage media for which speed of retrievability differs based on where the data is stored include Compact Disc (CD), or Digital Versatile Disc (DVD) media, hybrid storage systems using a mixture of solid state storage and disk storage and Redundant Array of Independent Disks (RAID) systems composed of multiple disks.
A modern hard disk drive contains one or more round disks, or “platters” that rotate around a spindle at a high speed (typically in the range of 5400 to 15,000 revolutions per minute). Each side of each platter is coated with a material that can be magnetized in regions to record data on the disk. The data is written, and read back, using an electromagnetic device called a “head,” which travels on a cushion of air very close to the surface of the platter. One or both sides of a given platter may be used to record data. If both sides are used the platter will have two heads associated with it (one on each side). If only one side is used there will only be one head per platter.
If the hard drive has multiple platters, the hard drive will have one head for each platter surface attached to the fingers of a comb type device such that all heads can be moved in and out as a unit across the surfaces of the platters. A disk controller can move the heads to any desired position on the disk and then hold them there so a circular ring of the disk flies under each head as the disk spins. This ring is called a “track.” The set of all tracks that move under all the heads, with the head assembly held in one place, is called a “cylinder.” The circumference of the tracks is increasingly larger moving from the innermost track to the outmost track. Data is written around a track in fixed size chunks, called “sectors.”
To access data at a particular region of a given platter, the heads must be moved to the correct location on the disk and the data must be transferred to or from the hard drive. For example, when reading data from a disk, the total wait for the requested data to arrive in memory includes the time taken to move the heads to the correct cylinder, the time taken for the disk to rotate such that the data is under the head, and the time taken to read the data from the disk and transfer it to the memory of the computer. Most disk drives employ buffering to improve performance. For example, the disk drive reads sectors and buffers the data in advance of an actual command to read those sectors in anticipation that a command will be received to read those sectors.
As used throughout this description, the term “access time” means the time from when a command to access the hard drive is received by the hard drive until the hard drive is ready to access (read or write) the data from the disk. This access time is primarily affected by a “seek time” and a “rotational delay”. As used throughout this description, the term “seek time” means the time taken to move the heads from their current location to the correct cylinder. For example, the heads must be moved radially inward or outward from their present location to the desired cylinder. Furthermore, the disk must rotate such that the head will be over the correct sector. As used throughout this description, the term “rotational delay” means the time for the desired sector to rotate to the head once the head is at the correct cylinder. The access time may also be affected by other factors such as a “command overhead time” and “head settle time”. The command overhead time is the time between when the disk drive receives the command to when the disk drive starts to move the head. The head settle time is the time its takes the head to stabilize after being moved to allow data access to or from the platter. The command overhead and head settle time are typically much smaller than the seek time and rotational delay with modern disk drives.
Once the hard drive has positioned the head over the correct location on the platter to access the data, a further amount of time is required for the hard drive to transfer data to or from the platter. For example, a hard drive may have an internal controller that oversees the transfer of data to or from the platter by sending signals to or receiving signals from the head. As used throughout this description, the term “internal disk transfer rate” means the rate at which the hard drive can read data from or write data to the platter. The internal disk transfer rate may be affected by many factors. An example of an internal factor is the rate that the data is read or written from/to the disk surface due to the rotational speed of the disk and amount of data per track. As used throughout this description, the term “media transfer rate” means the rate at which the hard drive is able to transfer data to or from a particular track. The media transfer rata is affected by the number of bits per track and the rotational speed of the platter.
The platters of a hard disk rotate at a constant rate. Because of this, it takes the same time for a complete inner track or a complete outer track to move under the disk head. Since an outer track contains more data than an inner track, it will have a higher transfer rate. Typically, manufacturers quote internal disk transfer rates (the rate that data can be written to or read from the disk) as a range of values. For example, a range might be a minimum of 43 Mbytes per second and a maximum of 78 Mbytes per second. However, the actual transfer rate at any particular place on the disk may be anywhere between the two extremes.
There are other factors that affect the internal disk transfer rate. Many hard drives store data on all of the tracks in a cylinder before moving the heads to the next cylinder. This avoids, or at least delays, the need to move the heads from one track to the next. However, the drive must switch from a head associated with one platter to a head associated with another platter. Switching between heads within a cylinder still requires a certain amount of time, which is referred to as a “head switch time.” As used throughout this description, the term “head switch time” means the time for the hard drive to switch from one head being used to access one of its platter surfaces to another head being ready to access another platter surface.
Still another factor that may affect the internal disk transfer rate is the “cylinder switch time”, which is the time taken to move the heads from one cylinder to an adjacent cylinder. As used throughout this description, the term “cylinder switch time” means the time for the heads to move from a first cylinder to an adjacent cylinder when changing from accessing data associated with the first cylinder to the adjacent cylinder.
Thus, the internal disk transfer rate can be influenced by the media transfer rate, the head switch time, the head cylinder switch time, as well as other factors not specifically enumerated herein. As a practical matter, access time is also influenced by re-vectoring of data to a different sector of the disk due to bad sectors. As used throughout this description, the term “internal disk transfer rate” means the rate at which a hard disk drive can transfer data between the platters and the hard disk's controller.
Another type of transfer rate is referred to herein as an “external transfer rate.” As used throughout this description, the term “external transfer rate” means the rate at which data can be moved between the hard disk and an external device. An example of a factor that affects the external transfer rate is the speed of the connection between the disk and the device to which it exchanges data (e.g., host computer).
One technique to read or write data faster to a hard disk drive is the attempt to improve the access time by minimizing the movement of the head. For example, one technique might be to store frequently accessed data in the middle portion of the disk and infrequently accessed data in the inner and/or outer regions of the disk. The intent of such a technique is to minimize the movement of the head from one access to the next. That is, it is assumed that most accesses will be to the middle of the disk such that the head does not need to travel a substantial distance towards the inside or, alternatively, towards the outside of the disk.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.